package ioReview;

import org.junit.Test;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;

public class OutputStreamDemo {

    @Test
    public void test() throws IOException{
        // 1 写一个a.txt到c:/a.txt写入内容为一个字节,一个字节组
        File file = new File("c:/a.txt");

        // 判断
        if (!file.exists()) {
            file.createNewFile();
        }

        // 创建输出对象
        OutputStream os = new FileOutputStream(file);
        // 写出一个字节的方法
        os.write(97);
        os.write(98);

        System.out.println("写出了一个字节");
        // 写出一个字节数组
        byte[] b = {99, 100, 101, 102, 103};
        os.write(b);
        System.out.println("写出一个字节数组");

        // 从指定的字节数组写入len字节,从偏移量off开始输出到此输出流
        os.write(b, 2, 3);
    }

    @Test
    public void test2() throws IOException {
        // 写一个hello追加到a.txt的末尾处
        File file = new File("c:/a.txt");
        // 输出流的对象
        // FileOutputStream(File file, boolean append)
        OutputStream os = new FileOutputStream(file, true);

        // 定义一个字符串
        String str = "hello";
        byte[] b = str.getBytes();
        // 直接写一个字节数组
        os.write(b);

        // 换行
        os.write("\r\n".getBytes());
        os.write(98);
    }
}
